// house_pkg/pages/locate/index.ts
// 导入地图 SDK的 实例化对象
import qqMap from '../../../utils/qqMap'
Page({
  // 点击事件传参 需要event 接受
  goBuilding(ev) {
    // console.log(ev.mark.point);
    // 页面传参
    wx.navigateTo({
      url: '/house_pkg/pages/building/index?point='+ev.mark.point
    })
  },
  // 当用户第一次进入就获取地址
  onLoad() {
    this.getLocation()
  },
  // 获取用户经纬度的方法
  async getLocation() {
    const { latitude, longitude } = await wx.getLocation()
    // console.log(latitude, longitude);
    // 自动获取用户地址信息
    this.getPoint(latitude, longitude)
  },
  // 获取用户手动选择的经纬度
  async chooseLocation() {
    const { latitude, longitude } = await wx.chooseLocation()
    // console.log(latitude, longitude);
    // 手动获取用户的地址信息
    this.getPoint(latitude, longitude)
  },
  // 根据经纬度获取位置信息
  getPoint(latitude, longitude){
    // qqMap 的逆地址解析 根据经纬度获取当前地点
    qqMap.reverseGeocoder({
      // String格式
      // 将数组里的数据用逗号进行字符串拼接
      location: [latitude, longitude].join(','),
      //成功后的回调
      success:(res)=>{
        // console.log(res);
        // 获取到地址文字,将其赋值并且渲染
        this.setData({
          address:res.result.address
        })
      }
    }),
    // 根据经纬度获取周边小区
    qqMap.search({
      // 搜索关键字
      keyword:'小区',
      // 传入经纬度
      location:[latitude, longitude].join(','),
      // 获取周边条数 //不传page_size 默认给10条 最大20
      page_size:10,
      success:(res)=>{
        console.log(res);
        this.setData({
          // 获取数据,进行渲染
          points:res.data
        })
      }
    })
  }
})  